// pages/order/diliveryInfo.js
const api = require("../../request/api")
const request = require("../../request/request")
const util = require("../../utils/util")
const App = getApp();
import dayjs from 'dayjs'

let statusMeaning = {
    RECEIVE: '接单中',
    WAIT_ACCEPT: '待揽收',
    ACCEPT: '已揽收',
    TRANSPORT: '运输中',
    SEND_ON: '转单或修改地址转寄',
    ARRIVE_CITY: '到达目的城市',
    DELIVERING: '派件中',
    STA_INBOUND: '已放入快递柜或驿站',
    AGENT_SIGN: '已代签收',
    SIGN: '已签收',
    STA_SIGN: '从快递柜或驿站取出',
    RETURN_SIGN: '退回签收',
    FAILED: '包裹异常',
    REFUSE_SIGN: '拒收',
    DELIVER_ABN: '派件异常',
    RETENTION: '滞留件',
    ISSUE: '问题件',
    RETURN: '退回件',
    DAMAGE: '破损',
    CANCEL_ORDE: '揽件取消',
}

let allInfo = {
    "msg": "成功",
    "success": true,
    "code": 200,
    "data": {
        "orderNo": "296141744182247312",
        "info": [{
            "cpCode": "ZTO",// 快递代号 
            "theLastTime": "2022-05-09 22:45:05", //运单号物流流转当前最新变更时间 
            "mailNo": "75876648253690", //快递单号 
            "theLastMessage": "您的快递已签收, 签收人在【多多买菜的鹤岭19幢一单元】(鹤岭19幢一单元)领取。如有疑问请电联:（13750841212）, 投诉电话:（13750841212）, 您的快递已经妥投。风里来雨里去, 只为客官您满意。上有老下有小, 赏个好评好不好？【请在评价快递员处帮忙点亮五颗星星哦~】", //运单号物流流转当前最新描述 
            "cpMobile": "95311", //快递公司电话 
            "logisticsCompanyName": "中通快递", //快递公司名称 
            "cpUrl": "https://www.zto.com/", //快递公司官网 
            "takeTime": "2天21小时45分", //从揽收到送达所耗时间 
            "logisticsStatusDesc": "已签收", //运单号当前物流状态文字描述 
            "logisticsTraceDetailList": [
                {
                    "areaCode": "CN530100000000", //当前节点所在地址行政编码
                    "areaName": "云南省,昆明市", //当前节点所在地区，省,市,区或省,市
                    "subLogisticsStatus": "ACCEPT", //物流流转子状态，详见：物流状态编码对照表 
                    "time": 1651840444000, //时间,单位毫秒 
                    "logisticsStatus": "ACCEPT", //物流流转状态，详见：物流状态编码对照表 
                    "desc": "【昆明经开民办科技园】（952270、15752010312） 的 匡光明（15559664312） 已揽收" //物流流转描述 
                },
                {
                    "areaCode": "CN530100000000",
                    "areaName": "云南省,昆明市",
                    "subLogisticsStatus": "TRANSPORT",
                    "time": 1651840449000,
                    "logisticsStatus": "TRANSPORT",
                    "desc": "快件离开 【昆明经开民办科技园】 已发往 【昆明中转】"
                },
                {
                    "subLogisticsStatus": "STA_INBOUND",
                    "time": 1652091544000,
                    "logisticsStatus": "DELIVERING",
                    "desc": "快件已被【多多买菜的鹤岭19幢一单元】代收，如有问题请电联（13750841212），感谢使用中通快递，期待再次为您服务！"
                },
                {
                    "subLogisticsStatus": "STA_SIGN",
                    "time": 1652107505000,
                    "logisticsStatus": "SIGN",
                    "desc": "您的快递已签收, 签收人在【多多买菜的鹤岭19幢一单元】(鹤岭19幢一单元)领取。如有疑问请电联:（13750841212）, 投诉电话:（13750841212）, 您的快递已经妥投。风里来雨里去, 只为客官您满意。上有老下有小, 赏个好评好不好？【请在评价快递员处帮忙点亮五颗星星哦~】"
                }],
            "logisticsStatus": "SIGN" //物流流转状态，详见：物流状态编码对照表; 
        }]
    }
}


Page({

    /**
     * 页面的初始数据
     */
    data: {
        barHeight: App.globalData.paddingTop,
        styledata: {
            "bg_color": "white",
            "color": "#000",
            "leftflag": true,
            // "homeflag": true,
            "name": "物流信息"
        },

        // 当前步骤
        nowStep: 0,

        // 物流信息
        DetailList: [],

        cpName: '------',
        mailNo: '-----------------------'
    },

    /**
     * 生命周期函数--监听页面加载
     */
    async onLoad(options) {
        let { oid, mobile } = options
        // console.log(oid, mobile);
        this.mobile = mobile

        // console.log(dayjs);
        // let str = dayjs(new Date()).format('{YYYY} MM-DDTHH:mm:ssZ[Z]')
        // let str2 = dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss')
        // let str3 = dayjs(1651840444000).format('YYYY-MM-DD HH:mm:ss')
        // console.log(str, str2, str3);

        await this.get_delivery_list(oid)
        await this.getDeliveryInfo()
    },

    // 存储订单的收货人手机号
    mobile: '',

    // 快递单号 必传
    // 快递类型 选传，可自动识别
    // 手机号   选传，顺丰必传
    async getDeliveryInfo() {
        let params = {
            number: this.data.mailNo,
            type: '',
            mobile: this.mobile,
        }

        // 服务接口header 规则
        // let header = {
        //     Authorization: 'APPCODE 97335b8513ee4448a384a31e86861bb3'
        // }
        // let res = await request.get(`https://slypass3.market.alicloudapi.com/express3`, params, header)
        // console.log('Authorization', res);

        util.showLoading('信息加载中')
        let res = await request.post(api.getmyexpress, params)

        let fullData = res
        let DetailList = fullData.info[0].logisticsTraceDetailList ? fullData.info[0].logisticsTraceDetailList : []

        if (DetailList.length != 0) {
            DetailList.forEach(item => {
                item.formatTime = dayjs(item.time).format('YYYY-MM-DD HH:mm:ss')
                item.status = statusMeaning[item.subLogisticsStatus]
                item.title = `${item.status}  ${item.formatTime}`
            });
        }

        this.setData({
            cpName: fullData.info[0].logisticsCompanyName,
            mailNo: fullData.info[0].mailNo,
            DetailList: DetailList.reverse()
        })
        util.hideLoading()
    },

    // 复制快递单号
    copyNum() {
        let originline = '-----------------------'
        if (this.data.mailNo === originline) return util.showToast('暂无单号')
        // console.log(this.data.mailNo.length);
        wx.setClipboardData({
            data: this.data.mailNo,
            success: function (res) {
                wx.showToast({
                    title: '复制成功',
                    icon: 'success',
                    duration: 1500
                });
            }
        });
    },

    // 获取发货单列表
    async get_delivery_list(oid) {
        let res = await request.post(api.deliList, { order_id: oid })// this.data.order_id 1016
        // console.log('发货单列表', res);
        if (res) {
            this.setData({
                cpName: res[0].freight_name,
                mailNo: res[0].delivery_code,
                // deliveryList: res,
            })
        }
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})